package co.edu.uniandes.moviles.rollerjudge;

import java.util.ArrayList;
import java.util.List;

import android.app.Activity;
import android.app.AlertDialog;
import android.app.ListActivity;
import android.content.DialogInterface;
import android.os.Bundle;
import android.util.SparseBooleanArray;
import android.view.Menu;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.CheckedTextView;
import android.widget.ListView;
import android.widget.Spinner;
import co.edu.uniandes.moviles.rollerjudge.logica.Deportista;
import co.edu.uniandes.moviles.rollerjudge.logica.Equipo;
import co.edu.uniandes.moviles.rollerjudge.logica.PruebaGrupal;
import co.edu.uniandes.moviles.rollerjudge.logica.PruebaIndividual;
import co.edu.uniandes.moviles.rollerjudge.logica.RollerJudge;
import co.edu.uniandes.moviles.rollerjudge.logica.Torneo;

public class SeleccionarPruebaActivity extends Activity  {

	private ListView listPart;
	
	private String torneoS;
	private String genero;
	private String modalidad;
	private Torneo torneo;
	private Spinner spinner2;
	private String prueba;
	
	private SparseBooleanArray booleanSelected;



	@Override
	protected void onCreate(Bundle savedInstanceState) {
		
		System.out.println("llega");
		
		RollerJudge roller = RollerJudge.darInstancia();
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_seleccionar_prueba);
		
		Bundle extras = getIntent().getExtras();
		torneoS = (String) extras.get("torneo");
		genero = (String) extras.get("genero");
		modalidad = (String) extras.get("modalidad");
		
		torneo = roller.darTorneo(torneoS);
		
		if(modalidad.equals("Grupo"))
		{
			spinner2 = (Spinner) findViewById(R.id.spinner2);
			List<String> list = new ArrayList<String>();
			for(int i=0;i<torneo.getPruebasGrupales().size();i++)
			{
				PruebaGrupal eq= torneo.getPruebasGrupales().get(i);
				if(eq.getGenero().equals(genero))
				{
					list.add(genero + "-"+eq.getDistancia());
				}
			
			}
			
			ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,
				android.R.layout.simple_spinner_item, list);
			dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
			spinner2.setAdapter(dataAdapter);
			
		}
		else{
			spinner2 = (Spinner) findViewById(R.id.spinner2);
			List<String> list = new ArrayList<String>();
			for(int i=0;i<torneo.getPruebasIndividuales().size();i++)
			{
				PruebaIndividual eq= torneo.getPruebasIndividuales().get(i);
				if(eq.getGenero().equals(genero))
				{
					list.add(genero + "-"+eq.getDistancia()+"-"+ eq.getEdadMinima()+ "-"+eq.getEdadMaxima());
				}
				
				
			}
			
			ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,
				android.R.layout.simple_spinner_item, list);
			dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
			spinner2.setAdapter(dataAdapter);
			
		}
		
		
	}
	public void iniciarPrueba(View view)
	{
		
		RollerJudge a = RollerJudge.darInstancia();

		spinner2 = (Spinner) findViewById(R.id.spinner2);
		prueba = String.valueOf(spinner2.getSelectedItem());
		
		if(modalidad.equals("Grupo"))
		{
			String [] temp = prueba.split("-");
			a.setPruebaGrupalActiva(torneo,temp[0],Integer.parseInt(temp[1]));
			showDialog("Mensaje","Se inicio prueba");
			
		}
		else
		{
			String [] temp = prueba.split("-");
			a.setPruebaIndividualActiva(torneo,temp[0],Integer.parseInt(temp[1]),Integer.parseInt(temp[2]),Integer.parseInt(temp[3]) );
			showDialog("Mensaje","Se inicio prueba");
			
		}
		
	}
	

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

	@SuppressWarnings("deprecation")
	public void showDialog(String title, String message) {
		AlertDialog alertDialog = new AlertDialog.Builder(this).create();
		alertDialog.setTitle(title);
		alertDialog.setMessage(message);
		alertDialog.setButton("Aceptar", new DialogInterface.OnClickListener() {
			@Override
			public void onClick(final DialogInterface dialog, final int which) {				
				finish();
			}
		});
		alertDialog.show();
	}

}
